Selene Shepard поделилась ссылкой
3 декабря 2013 года, 14:14
#11689: Рецепт успеха
Работаю в поликлинике. Заказали наши в типографии 10 тысяч рецептурных бланков формы № 148-1/у-88. Типография напечатала. Без серии, без номеров и без таблички «Приготовил — Проверил — Отпустил» на обороте. Вписывать всё это руками нельзя: рецепт не примут. Почему не предъявили типографии претензию с требованием сделать всё как надо? Не знаю, вопрос не ко мне. Как-то так вышло, что пришли ко мне с этой бедой. Попробовал впечатать — принтер с удовольствием жуёт тонкую бумажку формата А6, приходится её потом из-под печки выковыривать. Да и лень мне, честно говоря, такую кучу бланков гонять, проставляя для каждого новый номер. В общем, у старшей сестры теперь лежит 10 тысяч ненужных листков. Можно, конечно, и их к делу приспособить: записки на чистой стороне писать или в туалет всю стопку отнести, там они тоже пригодятся. Ранее эмпирическим путём уже было установлено, что такие бланки куда лучше, чем приказы Министерства здравоохранения.

Был озадачен: сделать возможной выписку рецептов по этой форме. Ну, программист из меня, честно признаюсь, далеко не лучший. Но слепить шаблон документа, а потом накидать в него данных из FoxPro для меня несложно. Да, из FoxPro. Вы обалдеете — у нас почти всё на нем крутится. Я вам больше скажу: шестая ещё версия. Ну, МИВЦ программу управления поликлиникой на нём сделало, вот и используем.

Сделал шаблон, где надо, навтыкал таблиц и полей. Вышло красиво. Ворд можно закрывать, пора открывать Фокс. Так… Нам будут нужны сведения о пациенте, которые проще брать из нашей базы: ФИО, возраст, адрес, карта. ФИО врача возьмём там же из справочника. И, собственно, текст за буковками Rp: такой-то препарат в такой-то дозировке принимать столько-то раз вместо еды в течение такого-то времени. Это поле у нас будет необязательным, если что — можно будет вписать руками уже на бумаге.

Создал форму, раскидал на ней кучу лейблов и текстбоксов, кнопки «Печать», «Очистить поля», «Просмотр выписанных рецептов», «Выход». Всё фигня, вот только пчёлы… Оказалось, что задача имеет ряд подводных камней, из-за которых набралось несколько количество костылей и подпорок. Грешен, каюсь. Как смогу сделать лучше — сделаю, пока поставим галочку на память.

Самое весёлое, с чем столкнулся: поскольку формат рецептурного бланка A6, лист А4 будет резаться на четыре части. Можно сделать печать по одному шаблону, а врачам сказать, чтоб заранее настригли себе бумажек. Но сделал иначе. На форме теперь красуется переключатель «широкий лист — узкий лист». По умолчанию стоит «широкий». Вбиваем данные, печатаем рецепт, перевернули, положили в лоток, нажали любую клавишу — напечаталась обратная сторона. Вырезали готовый рецепт по пунктирной линии. Красота! Остаётся половина листа и четвертинка. Вбиваем данные следующего рецепта, вытаскиваем бумагу из лотка, кладём четвертной обрезок, ставим «узкий лист» — и не нужно выкидывать кучу бумаги в отходы, печать идёт с другого шаблона, в котором всё засунуто в А6. Ну, а врачи пусть канцелярские ножи используют. Располовинить сложенный вдвое лист одним движением куда проще и быстрее, чем орудовать ножницами. Сам убедился, пока черновики печатал.